Pergunta

Desculpe se isso é demasiado simplista.

Eu decidi que eu quero usar um banco de dados SQLite em vez de um banco de dados MySQL. Eu estou tentando envolver minha cabeça em torno de como SQLite é simples e gostaria de um simples, uma resposta tutorial sobre como usar SQLite com o Zend Framework, onde colocar meu banco de dados SQLite na minha estrutura de diretório, como criar o banco de dados, etc .

Foi útil?

Solução

Se você fazer uma conexão com um banco de dados não existente, um banco de dados é criado na mosca. (Você pode ativar esse behavour off)

Outras dicas

@tuinstoel está correto, anexar a um banco de dados SQLite implicitamente cria-lo se ele não existe.

SQLite também suporta um cliente de linha de comando que é mais ou menos como shell de comando do MySQL, o que lhe permite emitir comandos ad hoc ou executar scripts SQL. Consulte a documentação aqui: http://www.sqlite.org/sqlite.html

Claro que você precisa para mudar o adaptador Zend_Db em sua aplicação ZF. ZF suporta apenas um adaptador para a extensão PDO SQLite. SQLite não apoiar credenciais de usuário / senha. Também desde SQLite é um banco de dados incorporado em vez de cliente / servidor, o parâmetro "host" não tem sentido.

$db = Zend_Db::factory("pdo_sqlite", array("dbname"=>"/path/to/mydatabase.db"));

Mais uma ressalva: quando você começa consulta resultados em formato de matriz associativa, algumas versões do SQLite insistir em usar "nome_da_tabela.nome_da_coluna" como as chaves na matriz, enquanto outras marcas de chaves de retorno do banco de dados como simplesmente "columnname". Há um erro proeminente na ZF sobre isso, para tentar compensar e fazer comportam SQLite de forma consistente com os outros adaptadores, mas o erro não está resolvido.

Este está agora coberto no início rápido Zend Framework tutorial (versão 1.9.5 como esta escrito). Basta fazer um novo projeto (com a ferramenta de linha de comando zf. Olhar aqui para um ótimo tutorial em configurá-lo), adicione estas linhas ao seu arquivo config.ini e você está pronto para ir:

; application/configs/application.ini
[production]
resources.db.adapter       = "PDO_SQLITE"
resources.db.params.dbname = APPLICATION_PATH "/../data/db/databaseName.db"

Agora, quando você perguntar para o seu adaptador de banco de dados padrão, ele usará este. Eu recomendaria também transferir o código fonte tutorial de início rápido e fazendo uso do script load.sqlite.php. Você pode criar um arquivo de esquema e dados e carregar o banco de dados com essas tabelas / colunas / valores. É muito útil! Basta verificar o tutorial . É tudo lá dentro.


Esta resposta foi movido fora de questão em uma resposta CW à posse de negação sobre o conteúdo .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top