Erro Postgres Campo tipo Serial

Alguém aqui no fórum está tendo problemas com as consultas utilizando yii com postgres?

É o Error 500: <h1>CDbException</h1>


Já fiz o procedimento abaixo e até funcionou algum tempo, mas agora voltou o mesmo erro…

.

qual o erro q deu do postgres?

você pode tá é com o seguinte erro: quando gera o Model pelo GII ele gera os campos integers com true no terceiro parâmetro…o terceiro parâmetro é para indicar ao compare que ele vai fazer um LIKE no campo…remove isso…integer não pode ser true…de padrão ele é false!!

tem que tirar de todos os campos integers…

Eric, eu retire o terceiro parâmetro, mas continua dando erro. Abaixo do código segue anexo a imagem do erro que está aparecendo.




	$criteria=new CDbCriteria;


		$criteria->compare('Id',$this->Id);

		$criteria->compare('IdPessoa',$this->IdPessoa);

		$criteria->compare('Usuario',$this->Usuario,true);

		$criteria->compare('Senha',$this->Senha,true);

		$criteria->compare('IdGrupo',$this->IdGrupo);

		$criteria->compare('Status',$this->Status,true);

		$criteria->compare('UltimoAcesso',$this->UltimoAcesso);

		$criteria->compare('DataValidade',$this->DataValidade);

		$criteria->compare('DataCadastro',$this->DataCadastro);


		return new CActiveDataProvider($this, array(

			'criteria'=>$criteria,

		));



Imagem do erro:2499

ErroPostgreSQL.PNG

…Estou usando o Postgres 9.1, PHP 5.3.6

André,

Posta o erro todo, por que está parte do erro é somente o <head> da página, as vezes na descrição do erro logo abaixo deve está descrevendo o problema.

A janela de mensagem do erro é muito grande, não conseguir capturar toda, mas de a imagem abaixo é a continuação do erro.

Imagem continuação do erro: 2501

RestanteDoErro.png

André,

Quando abrir a janela faz um teste, clica na janela e vai no Ctrl+V, e veja no bloco de notas se ele copio todo o erro.

Newerton, segue abaixo e eu nem sabia que podia copiar e colar rsrs…

[color="#FF0000"]Erro:[/color]




Error 500: <!DOCTYPE html PUBLIC

	"-//W3C//DTD XHTML 1.0 Transitional//EN"

	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<title>CDbException</title>


<style type="text/css">

/*<![CDATA[*/

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;margin:0;padding:0;}

body{line-height:1;}

ol,ul{list-style:none;}

blockquote,q{quotes:none;}

blockquote:before,blockquote:after,q:before,q:after{content:none;}

:focus{outline:0;}

ins{text-decoration:none;}

del{text-decoration:line-through;}

table{border-collapse:collapse;border-spacing:0;}


body {

	font: normal 9pt "Verdana";

	color: #000;

	background: #fff;

}


h1 {

	font: normal 18pt "Verdana";

	color: #f00;

	margin-bottom: .5em;

}


h2 {

	font: normal 14pt "Verdana";

	color: #800000;

	margin-bottom: .5em;

}


h3 {

	font: bold 11pt "Verdana";

}


pre {

	font: normal 11pt Menlo, Consolas, "Lucida Console", Monospace;

}


pre span.error {

	display: block;

	background: #fce3e3;

}


pre span.ln {

	color: #999;

	padding-right: 0.5em;

	border-right: 1px solid #ccc;

}


pre span.error-ln {

..."trace-file">

											<div class="plus">+</div>

						<div class="minus">–</div>

										&nbsp;C:\WAPP\apache2\htdocs\martyii\index.php(13): <strong>CApplication</strong>-><strong>run</strong>()				</div>


				<div class="code"><pre><span class="ln">08</span> defined('YII_DEBUG') or define('YII_DEBUG',true);

<span class="ln">09</span> // specify how many levels of call stack should be shown in each log message

<span class="ln">10</span> defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);

<span class="ln">11</span> 

<span class="ln">12</span> require_once($yii);

<span class="error"><span class="ln error-ln">13</span> Yii::createWebApplication($config)-&gt;run();</span></pre></div>			</td>

		</tr>

				</table>

	</div>


	<div class="version">

		2012-02-03 11:19:02 Apache <a href="http://www.yiiframework.com/">Yii Framework</a>/1.1.9	</div>

</div>


<script type="text/javascript">

/*<![CDATA[*/

var traceReg = new RegExp("(^|\\s)trace-file(\\s|$)");

var collapsedReg = new RegExp("(^|\\s)collapsed(\\s|$)");


var e = document.getElementsByTagName("div");

for(var j=0,len=e.length;j<len;j++){

	if(traceReg.test(e[j].className)){

		e[j].onclick = function(){

			var trace = this.parentNode.parentNode;

			if(collapsedReg.test(trace.className))

				trace.className = trace.className.replace("collapsed", "expanded");

			else

				trace.className = trace.className.replace("expanded", "collapsed");

		}

	}

}

/*]]>*/

</script>


</body>

</html>




[color="#0000FF"]Será que tem algo com relação as variáveis da tabela estarem com algumas letras em maiúsculo?[/color]

Eric, Newerton, é isso mesmo! São os nomes de variaveis nas tabelas com letras maiúscula.

Pow! Acho muito legal escrever EmpresaDeposito ao invés de empresa_deposito…

E agora, vocês tem ideia de como posso continuar usando dessa maneira sem ocorrer este erro?

André,

Seu model está EmpresaDeposito? Se sim, recomendo usar Empresadeposito, pelo motivo que servidores linux são ‘case-sensitive’, ai dá erro de conexão, eu comecei a evitar de usar EmpresaDeposito para usar Empresadeposito.

Quando eu estou gerando meus model pelo Gii, quando digito empresa_deposito, ele já descreve o nome do model para EmpresaDeposito, ai vou lá e coloco o Deposito para letra minuscula, em servidores locais que usa o windows + apache nen tem problema, mais quando vai pra servidores online, ai dá essas zica que já fiquei metade do dia descabelando até achar hehehe

Hummm… está assim mesmo, mas o problema até então acho que está nos nomes dos campos na tabela no postgres. A nome da tabela é em minusculo.

Eles estão com algumas letras maiúsculas e quando ponho em minusculas funciona. E aí queria saber como posso continuar usando do jeito que segue a tabela abaixo.




CREATE TABLE usuario

(

  "Id" bigserial NOT NULL PRIMARY KEY,

  "IdPessoa" bigint,

  "Usuario" character varying(128),

  "Senha" character varying(128),

  "IdGrupo" bigint,

  "Status" character varying(15) DEFAULT 'Ativo'::character varying,

  "UltimoAcesso" date,

  "DataValidade" date,

  "DataCadastro" date

)



André

segue a rima …

geralmente é bom vc definir mais coisas na tabela como FK’s pois o framework

funciona perfeitamente com essas regras já estabelecidas no banco.

neste caso o campos na pabela …




"IdPessoa" bigint, // FOREIGN KEY



e no campo




"Id" // coloca como UNIQUE



O nome dos campos é bom sempre deixar em minusculo

padrão Camelcase é mais usado em variaveise nome de funções

fica a dica!

ok …

Humm… bom saber! Obrigado.