Está dando esse erro para mim quando executo qualquer comando no terminal. Conseguem me ajudar?
No identifier/primary key specified for Entity "Alura\Doctrine\Entity\Aluno". Every Entity must have an identifier/primary key.
Está dando esse erro para mim quando executo qualquer comando no terminal. Conseguem me ajudar?
No identifier/primary key specified for Entity "Alura\Doctrine\Entity\Aluno". Every Entity must have an identifier/primary key.
Fala, Márcio. Você não adicionou o id no Aluno, segundo a mensagem.
Pior que o id estava lá. Ele está dando esse erro para mim agora.
!
! [CAUTION] This operation should not be executed in a production environment!
!
Creating database schema...
In ToolsException.php line 34:
Schema-Tool failed with Error 'An exception occurred in driver: could not f
ind driver' while executing DDL: CREATE TABLE Aluno (id INTEGER PRIMARY KEY
AUTOINCREMENT NOT NULL, nome VARCHAR(255) NOT NULL)
In AbstractSQLiteDriver.php line 70:
An exception occurred in driver: could not find driver
In PDOConnection.php line 31:
could not find driver
In PDOConnection.php line 27:
could not find driver
Aparentemente o pdo_sqlite
não tá habilitado no seu php.ini.
Tá habilitado Vinícios.
; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+)
; extension folders as well as the separate PECL DLL download (PHP 5+).
; Be sure to appropriately set the extension_dir directive.
;
;extension=bz2
;extension=curl
;extension=ffi
;extension=ftp
;extension=fileinfo
;extension=gd2
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=ldap
;extension=mbstring
;extension=exif ; Must be after mbstring as it depends on it
;extension=mysqli
;extension=oci8_12c ; Use with Oracle Database 12c Instant Client
;extension=odbc
;extension=openssl
;extension=pdo_firebird
;extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
extension=pdo_sqlite
;extension=pgsql
;extension=shmop
Você tem mais de uma instalação do PHP na sua máquina?
Executa php -m
e vê se o pdo_sqlite tá sendo exibido lá.
Não aparece na lista.
Repetindo a pergunta, você tem mais de uma instalação do PHP na sua máquina?
Não! Somente o php 7.4.7 que está na raiz c:
A configuração extension_dir
tá definida corretamente?
Configurei certinho.
O arquivo .ini que tenho que configurar é esse Arquivo INI-DEVELOPMENT (.ini-development)?
Qual a saída do comando php --ini
?
Márcio, o arquivo tem que se chamar php.ini
.
Esse estava sem o exe e eu descomentei e coloquei o exe. sqlite3.extension_dir = "exe"
Eu procurei na pasta onde eu extraí os arquivos php, porém, mesmo pesquisando com o ctrl+f não tem o arquivo php.ini.
Mas é esse mesmo, conferi agora.
Márcio, parece que tá rolando bastante confusão aí...
Vamos lá:
php.ini-development
na pasta extraída do PHPphp.ini
extension=pdo_sqlite
extension_dir=ext
(Acredito que seja isso no Windows. Confere aí no arquivo) Depois de todos esses passos, confere se tá tudo ok.
Persiste Vinícios.
C:\laragon\www\CursoDoctrine>vendor\bin\doctrine.bat orm:schema-tool:create
!
! [CAUTION] This operation should not be executed in a production environment!
!
Creating database schema...
In ToolsException.php line 34:
Schema-Tool failed with Error 'An exception occurred in driver: could not f
ind driver' while executing DDL: CREATE TABLE Aluno (id INTEGER PRIMARY KEY
AUTOINCREMENT NOT NULL, nome VARCHAR(255) NOT NULL)
In AbstractSQLiteDriver.php line 70:
An exception occurred in driver: could not find driver
In PDOConnection.php line 31:
could not find driver
In PDOConnection.php line 27:
could not find driver
orm:schema-tool:create [--dump-sql]
C:\laragon\www\CursoDoctrine>
Você tá usando Laragon? Não sei se existe algum procedimento específico necessário. Nunca usei...
Bom dia Vinícios, atualmente eu não estou usando mais o laragon. Configurei direitinho como vc me indicou, porem o erro ainda persiste. Tanto o meu projeto com o php estão na raiz C: , as extensões estão descomentadas no arquivo php.ini também. Executei esse script phpinfo.php e, aparece none no php.ini
Loaded Configuration File (none) Scan this dir for additional .ini files (none) Additional .ini files parsed (none)
Instalei várias versões do php também, fiz de tudo, porém o erro persiste.
C:\CursoDoctrine>vendor\bin\doctrine.bat orm:info
Found 1 mapped entities:
[OK] Alura\Doctrine\Entity\Aluno
C:\CursoDoctrine>vendor\bin\doctrine.bat orm:schema-tool:create
!
! [CAUTION] This operation should not be executed in a production environment!
!
Creating database schema...
In ToolsException.php line 34:
Schema-Tool failed with Error 'An exception occurred in driver: could not f
ind driver' while executing DDL: CREATE TABLE Aluno (id INTEGER PRIMARY KEY
AUTOINCREMENT NOT NULL, nome VARCHAR(255) NOT NULL)
In AbstractSQLiteDriver.php line 70:
An exception occurred in driver: could not find driver
In PDOConnection.php line 31:
could not find driver
In PDOConnection.php line 27:
could not find driver
orm:schema-tool:create [--dump-sql]
Márcio, sendo assim, só com uma investigação mais a fundo.
Quer me chamar no Telegram pra gente tentar bolar um acesso remoto pra ver se eu descubro algo na sua máquina?
Se quiser: https://t.me/cviniciussdias
Após acesso remoto vi que o Laragon estava sim sendo utilizado e, como falo em todos os treinamentos, isso só traz dor de cabeça e problemas de infraestrutura.
Criei o arquivo php.ini na pasta onde o Laragon pedia e agora a extensão foi carregada.
Conclusões:
Vou encerrar o tópico já que o problema foi resolvido.
:-)